package com.hjb.service.Wechat;

import java.security.NoSuchAlgorithmException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hjb.service.domain.AccessToken;

public interface WechatService {
	
	/**
	 * 获取微信token
	 */
    public List<AccessToken> getAccess_token();
    
    /**
     * 定时更新Access_token
     */
    public void updateAccess_token();
    
    /**
     * 用户授权
    * @Title: snsapibase
    * @Description: TODO(这里用一句话描述这个方法的作用)
    * @param     设定文件
    * @return void    返回类型
    * @throws
     */
    public void snsapibase(String redirect_uri,HttpServletResponse response);

    /**
     * 授权回调处理
    * @Title: redirect
    * @Description: TODO(这里用一句话描述这个方法的作用)
    * @param @param request    设定文件
    * @return void    返回类型
    * @throws
     */
	public String redirect(HttpServletRequest request);
	
	/**
	 * 生成二维码获取ticket
	* @Title: getErweimaTicket
	* @Description: TODO(这里用一句话描述这个方法的作用)
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String getErweimaTicket(String phonenumber);
	
	/**
	 * 监听微信用户事件
	* @Title: wxListener
	* @Description: TODO(这里用一句话描述这个方法的作用)
	* @param @param request
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String wxListener(String signature,  String timestamp,
            String nonce,  String echostr) throws NoSuchAlgorithmException;

	/**
	 * 接收微信推送
	* @Title: processRequest
	* @Description: TODO(这里用一句话描述这个方法的作用)
	* @param @param request
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String processRequest(HttpServletRequest request);
}
